# 管理员功能视图层

from interface import admin_interface


def add_user():
    from core import user_view
    user_view.register()


def change_balance():
    while True:
        username = input('请输入用户名：').strip()
        balance = float(input('请输入修改余额：').strip())
        flag, msg = admin_interface.change_balance_interface(username, balance)
        if flag:
            print(msg)
            return None
        else:
            print(msg)


def lock_user():
    """
    锁定用户

    锁定成功，返回管理员功能主函数；
    锁定失败，打印错误信息，继续锁定。
    """
    while True:
        username = input('请输入用户名：').strip()
        flag, msg = admin_interface.lock_user_interface(username)
        if flag:
            print(msg)
            return
        else:
            print(msg)


number_func = {
    '1': add_user,
    '2': change_balance,
    '3': lock_user,
}


def main():
    """管理员视图层主函数"""
    while True:
        print("""
            管理员功能
            0 退出
            1 添加用户
            2 修改余额
            3 锁定用户""")
        number = input('请输入编号：').strip()
        if number == '0':
            print('退出管理员界面')
            return None
        if number not in number_func:
            print('请输入正确的编号！')
            continue
        number_func.get(number)()
